main(){
  // 购物车数据
  List<Map> goodsList = [
    {"id": 1,"price": 22.68,"count": 3,"goods_name": "西瓜","selectd": true,},
    {"id": 2,"price": 11.99,"count": 3,"goods_name": "草莓","selectd": true,},
    {"id": 3,"price": 60.99,"count": 1,"goods_name": "车厘子","selectd": false,},
    {"id": 4,"price": 11.68,"count": 3,"goods_name": "平谷大桃","selectd": false,}
  ];
  /**
   * 计算购物车中选中商品的总金额
   */
  // 定义一个变量totalPrice，用于存储选中商品的总金额
  // 遍历购物车中的每个商品
  // 如果商品被选中（selectd为true），则将商品的单价乘以数量并累加到totalPrice中
  // 最后打印出选中商品的总金额，保留两位小数
  //1.for in 循环实现
  // double totalPrice = 0;
  // for (var item in goodsList) {
  //   if (item["selectd"]) {
  //     totalPrice += item["price"] * item["count"];
  //   }
  // }
  // print("购物车中选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");
  // 2.for循环实现
  // for(int i=0;i<goodsList.length;i++){
  //   if(goodsList[i]["selectd"]){
  //     totalPrice += goodsList[i]["price"] * goodsList[i]["count"];
  //   }
  // }
  //2.使用forEach方法实现
  // goodsList.forEach((item) {
  //   if (item["selectd"]) {
  //     totalPrice += item["price"] * item["count"];
  //   }
  // });
  // print("购物车中选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");
  //3.fold方法实现
  // double totalPrice = goodsList.fold(0, (result, item) {
  //   if (item["selectd"]) {
  //     return result + item["price"] * item["count"];
  //   }
  //   return result;
  // });
  // print("购物车中选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");
  //4.forEach方法实现
  //  double totalPrice = 0;
  // goodsList.forEach((item) {
  //   if (item["selectd"]) {
  //     totalPrice += item["price"] * item["count"];
  //   }
  // });
  // print("购物车中选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");
  //5.where方法实现
  // double totalPrice = goodsList.where((item) => item["selectd"]).fold(0, (result, item) => result + item["price"] * item["count"]);
  // print("购物车中选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");
  // 5.1 使用where方法筛选出选中的商品
  List<Map> selectedGoods = goodsList.where((item) => item["selectd"]).toList();
  // 5.2 使用fold方法计算选中商品的总金额
  double totalPrice = selectedGoods.fold(0, (result, item) => result + item["price"] * item["count"]);
  print("购物车中选中商品的总金额为：${totalPrice.toStringAsFixed(2)}");
}